home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part2 / 15241 < prev    next >
Encoding:
Text File  |  1996-08-05  |  5.1 KB  |  135 lines

  1. Path: mail2news.demon.co.uk!genesis.demon.co.uk
  2. From: Lawrence Kirby <fred@genesis.demon.co.uk>
  3. Newsgroups: comp.lang.c
  4. Subject: Re: Schildt <- Advanced Books
  5. Date: Thu, 18 Apr 96 00:06:11 GMT
  6. Organization: none
  7. Distribution: world
  8. Message-ID: <829785971snz@genesis.demon.co.uk>
  9. References: <8BEB557.02C7003127.uuout@sourcebbs.com>
  10. Reply-To: fred@genesis.demon.co.uk
  11. X-NNTP-Posting-Host: genesis.demon.co.uk
  12. X-Newsreader: Demon Internet Simple News v1.27
  13. X-Mail2News-Path: genesis.demon.co.uk
  14.  
  15. In article <8BEB557.02C7003127.uuout@sourcebbs.com>
  16.            david.mohorn@sourcebbs.com "DAVID MOHORN" writes:
  17.  
  18. >This message was from DAVID MOHORN to ALL
  19. >and was forwarded to you by DAVID MOHORN
  20. >                    ----------------------------------------
  21. >M>: Oh, C'mon guy!  Aren't you being a bit tough on Schildt?
  22.  
  23. No. Schildt may be good at writing books but all the ones he has written
  24. to date about C show an extremely poor understanding of the language - he
  25. is just not competent to write about C.
  26.  
  27. >M>The rather tedious nonsense about the void main() declaration is being
  28. > >blown out of all proportion. First of all, Schildt uses
  29.  
  30. That's a classic example but is just one of many, many errors and
  31. misconceptions in his C books.
  32.  
  33. >M> main() {
  34. >M> }
  35. >
  36. >M>as the declaration in 99.99% of all books I've seen. The other 1% has
  37. > >arguements. He must have used void main() in the Annotated Standard
  38. > >since people discuss it so much. If so (I haven't read the book),
  39. > >it is very unusual for him.
  40.  
  41. Yes, he uses it in the Annotated ANSI C standard, right opposite the page
  42. of the standard that makes it undefined. It is also used extensively in
  43. "C the Complete Reference" (2nd edition at least).
  44.  
  45. >The only book that I know of that uses the notorious void main(void) is
  46. >his "Teach Yourself C" book.  But he only uses this for the first half
  47. >of the book.  This is only because he doesn't want the reader to be
  48. >overwhelmed with all the data types and other things until he has a
  49. >chance to explain how functions return values and pass arguments.
  50.  
  51. Which of course is an argument against void main(void). If he wanted to
  52. avoid explicit types he could have written the well-defined:
  53.  
  54. main()
  55. {
  56. }
  57.  
  58. Instead he writes illegal code in addition to introducing one of the
  59. stranger types that C has.
  60.  
  61. People are perfectly capable of taking things on trust until they
  62. are explained later. That happens very naturally if the explanation fits
  63. the pattern of what they encountered earlier. It is much less confusing
  64. to have an explanation that reinforces your understanding of something
  65. rather than contradicts it. That is why a book should never teach bad code.
  66.  
  67. If somebody is flicking through the book for reference they would see
  68. void main() as an example and reasonably assume that it is well-defined.
  69. The number of times void main() is posted to comp.lang.c is testimony to
  70. that (although I don't blame Schildt for all of those; some of them
  71. certainly).
  72.  
  73. >I haven't read the "Annotated Standard" book either.
  74.  
  75. It's a good laugh! :-) However it does contain the text of the standard
  76. so is useful if you ignore the annotations.
  77.  
  78. >M>:  I mean, I
  79. > >: think he writes the best books--they are easy-to-read, give good
  80. > >: explanations, and presents everything in a well-to-do organized manner.
  81.  
  82. Which are worse than useless when many of the explanations and examples are
  83. factually incorrect or misleading.
  84.  
  85. >M>I agree. The use of the Mastery Learning Theory in the Teach Yourself
  86. > >C and C++ books is perfect for C.
  87.  
  88. Schildt describes a language, but it is not C.
  89.  
  90. >I agree!
  91. >
  92. >M>: Turbo C/C++: The Complete Reference
  93. >
  94. >M>I love this book, I've practically worn it out. It has about 95% of
  95. > >all the material Schildt has ever written on C and C++.
  96.  
  97. Rebublishing the same text under different titles is a rather shady
  98. practice unless the book covers make this clear.
  99.  
  100. >I think it is a great reference!!!  Now if Schildt will just write a
  101. >"Teach Yourself Assembler" book that blows Mark Goodwin's book away.
  102. >This book really stunk.  It was nothing more than the User Guide that
  103. >comes with the Assembler.  YUCK!
  104. >
  105. >M>: And whoever said that Schildt may not know advanced topics,
  106. > >: that's purely nonsense.  If anyone has ever read his Advance C book, he
  107. > >: definitely knows what he's doing.
  108.  
  109. That's one I haven't seen. However it would have to be radically
  110. different from his other books on C to be any good. In the books I have
  111. seen it is his coverage of more advanced (language) topics that are his
  112. shakiest areas.
  113.  
  114. >M>Born To Code In C develops a multi-threaded program! That's
  115. > >as advanced as you can get. In DOS, way before multi-threaded OSes
  116. > >like NT and OSF/1 came out.
  117.  
  118. Schildt clearly has talent, and knowledge of some topics, however he should
  119. stick to the topics he knows well when publishing books (and he should
  120. get an independent opinion of what those topics are).
  121.  
  122. >I agree.
  123.  
  124. :-)
  125.  
  126. I'll stress again that I'm only commenting on Schildt's books about C.
  127. Given a subject he understands he could write an excellent book (and
  128. probably already has).
  129.  
  130. -- 
  131. -----------------------------------------
  132. Lawrence Kirby | fred@genesis.demon.co.uk
  133. Wilts, England | 70734.126@compuserve.com
  134. -----------------------------------------
  135.